package com.ruoyi.system.mapper;

import com.ruoyi.system.domain.CoFeedback;
import java.util.List;
import java.util.Map;

/**
 * 反馈 数据层
 */
public interface CoFeedbackMapper {
    /**
     * 查询反馈列表
     * 
     * @param feedback 反馈信息
     * @return 反馈集合
     */
    public List<CoFeedback> selectFeedbackList(CoFeedback feedback);

    /**
     * 查询用户的反馈列表
     * 
     * @param userId 用户ID
     * @return 反馈集合
     */
    public List<CoFeedback> selectFeedbacksByUserId(Long userId);

    /**
     * 查询合同的反馈列表
     * 
     * @param contractId 合同ID
     * @return 反馈集合
     */
    public List<CoFeedback> selectFeedbacksByContractId(Long contractId);

    /**
     * 通过反馈ID查询反馈
     * 
     * @param feedbackId 反馈ID
     * @return 反馈对象信息
     */
    public CoFeedback selectFeedbackById(Long feedbackId);

    /**
     * 新增反馈信息
     * 
     * @param feedback 反馈信息
     * @return 结果
     */
    public int insertFeedback(CoFeedback feedback);

    /**
     * 修改反馈信息
     * 
     * @param feedback 反馈信息
     * @return 结果
     */
    public int updateFeedback(CoFeedback feedback);

    /**
     * 删除反馈信息
     * 
     * @param feedbackId 反馈ID
     * @return 结果
     */
    public int deleteFeedbackById(Long feedbackId);

    /**
     * 批量删除反馈信息
     * 
     * @param feedbackIds 需要删除的反馈ID
     * @return 结果
     */
    public int deleteFeedbackByIds(Long[] feedbackIds);

    /**
     * 更新反馈状态
     * 
     * @param feedbackId 反馈ID
     * @param status 状态
     * @return 结果
     */
    public int updateFeedbackStatus(Long feedbackId, Integer status);

    /**
     * 查询反馈统计信息
     * 
     * @return 统计信息
     */
    public Map<String, Object> selectFeedbackStats();
}
